package cn.wzb._01_hello;

import cn.wzb.ConnectionUtil;
import com.rabbitmq.client.Channel;
import com.rabbitmq.client.Connection;

//消息发送者，生产者
public class Send {

    //队列名称
    public static final String QUEUE_1107 = "helloworld_1107";

    public static void main(String[] args) {
        try {
            //1.创建链接对象
            Connection connection = ConnectionUtil.getConnection();
            //2.创建通道
            Channel channel = connection.createChannel();
            //3.声明队列
            /**
             * 声明队列，如果Rabbit中没有此队列将自动创建
             * param1:队列名称
             * param2:是否持久化
             * param3:队列是否独占此连接
             * param4:队列不再使用时是否自动删除此队列
             * param5:队列参数
             */
            channel.queueDeclare(QUEUE_1107,true,false,false,null);

            //4.准备消息
            String message = "我是一个HelloWorld消息 over" ;

            //5.发送消息
            /**
             * 消息发布方法
             * param1：Exchange的名称，如果没有指定，则使用Default Exchange
             * param2:routingKey,消息的路由Key，是用于Exchange（交换机）将消息转发到指定的消息队列
             * param3:消息包含的属性
             * param4：消息体
             */
            channel.basicPublish("",QUEUE_1107,null,message.getBytes());

            System.out.println("消息发送完毕："+message);

        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
